home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / esc.jar / com / extensibility / xml / ParserException.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-06-30  |  5.7 KB  |  230 lines

  1. package com.extensibility.xml;
  2.  
  3. import com.extensibility.pub.SchemaError;
  4. import com.extensibility.util.Debug;
  5. import java.text.Format;
  6. import java.text.MessageFormat;
  7. import java.util.Enumeration;
  8. import java.util.MissingResourceException;
  9. import java.util.ResourceBundle;
  10. import java.util.Stack;
  11. import java.util.Vector;
  12.  
  13. public class ParserException extends Exception implements SchemaError {
  14.    public static final int NOTE = 0;
  15.    public static final int WARNING = 1;
  16.    public static final int SEVERE = 2;
  17.    static ResourceBundle res;
  18.    boolean reported;
  19.    Exception original;
  20.    int syntaxLoc;
  21.    String message;
  22.    String offender;
  23.    int sourcePos;
  24.    int sourceLinePos;
  25.    String source;
  26.    URI sysURI;
  27.    int severity;
  28.    Stack stack;
  29.    ParserException[] collection;
  30.    ParserException mostSevere;
  31.  
  32.    public static void setMessageBundle(ResourceBundle var0) {
  33.       res = var0;
  34.    }
  35.  
  36.    public ParserException(int var1, String var2, int var3) {
  37.       this(var1, var2);
  38.       this.severity = var3;
  39.    }
  40.  
  41.    public ParserException(int var1, String var2) {
  42.       this.severity = 2;
  43.       this.syntaxLoc = var1;
  44.       this.offender = var2;
  45.    }
  46.  
  47.    public ParserException(int var1, char var2, int var3) {
  48.       this(var1, var2);
  49.       this.severity = var3;
  50.    }
  51.  
  52.    public ParserException(int var1, char var2) {
  53.       this.severity = 2;
  54.       this.syntaxLoc = var1;
  55.       this.offender = (new Character(var2)).toString();
  56.    }
  57.  
  58.    public ParserException(Exception var1, String var2) {
  59.       this.severity = 2;
  60.       this.original = var1;
  61.       this.offender = var2;
  62.    }
  63.  
  64.    public ParserException(String var1, String var2, int var3, int var4) {
  65.       this.severity = 2;
  66.       this.message = var1;
  67.       this.setContext(var2, var3, var4);
  68.    }
  69.  
  70.    public ParserException(Vector var1) {
  71.       this.severity = 2;
  72.       Debug.assert(var1 != null && var1.size() > 0, "can't wrap no exceptions!");
  73.       int var2 = -1;
  74.       int var3 = -1;
  75.       this.collection = new ParserException[var1.size()];
  76.  
  77.       for(int var4 = 0; var4 < var1.size(); ++var4) {
  78.          this.collection[var4] = (ParserException)var1.elementAt(var4);
  79.          if (this.collection[var4].getSeverity() > var2) {
  80.             var3 = var4;
  81.             var2 = this.collection[var4].getSeverity();
  82.          }
  83.       }
  84.  
  85.       this.mostSevere = this.collection[var3];
  86.    }
  87.  
  88.    public int getSyntaxLoc() {
  89.       return this.mostSevere != null ? this.mostSevere.getSyntaxLoc() : this.syntaxLoc;
  90.    }
  91.  
  92.    public String getOffender() {
  93.       return this.mostSevere != null ? this.mostSevere.getOffender() : this.offender;
  94.    }
  95.  
  96.    public Exception getOriginal() {
  97.       return this.mostSevere != null ? this.mostSevere.getOriginal() : this.original;
  98.    }
  99.  
  100.    public boolean hasBeenReported() {
  101.       return this.reported;
  102.    }
  103.  
  104.    public void setBeenReported(boolean var1) {
  105.       this.reported = var1;
  106.    }
  107.  
  108.    public int getSeverity() {
  109.       return this.mostSevere != null ? this.mostSevere.getSeverity() : this.severity;
  110.    }
  111.  
  112.    public void setSeverity(int var1) {
  113.       this.severity = var1;
  114.    }
  115.  
  116.    public String getMessage() {
  117.       if (this.message != null) {
  118.          return this.message;
  119.       } else {
  120.          String var1 = System.getProperty("line.separator");
  121.          if (this.mostSevere != null) {
  122.             StringBuffer var8 = new StringBuffer(this.mostSevere.getMessage());
  123.  
  124.             for(int var10 = 0; var10 < this.collection.length; ++var10) {
  125.                if (this.collection[var10] != this.mostSevere) {
  126.                   var8.append(String.valueOf(this.collection[var10]).concat(String.valueOf(var1)));
  127.                }
  128.             }
  129.  
  130.             return var8.toString();
  131.          } else {
  132.             String var3 = null;
  133.  
  134.             String var2;
  135.             try {
  136.                if (this.original != null) {
  137.                   var3 = this.original.getClass().getName();
  138.                } else {
  139.                   var3 = (new Integer(this.syntaxLoc)).toString();
  140.                }
  141.  
  142.                if (res == null) {
  143.                   throw new MissingResourceException("", "", "");
  144.                }
  145.  
  146.                var2 = res.getString(var3);
  147.             } catch (MissingResourceException var6) {
  148.                return var3;
  149.             }
  150.  
  151.             MessageFormat var4 = new MessageFormat(var2);
  152.             String[] var5 = new String[]{this.offender != null ? this.offender : ""};
  153.             var2 = ((Format)var4).format(var5);
  154.             return var2;
  155.          }
  156.       }
  157.    }
  158.  
  159.    public int getSourcePos() {
  160.       return this.mostSevere != null ? this.mostSevere.getSourcePos() : this.sourcePos;
  161.    }
  162.  
  163.    public int getSourceLinePos() {
  164.       return this.sourceLinePos;
  165.    }
  166.  
  167.    public String getSource() {
  168.       return this.mostSevere != null ? this.mostSevere.getSource() : this.source;
  169.    }
  170.  
  171.    public URI getURI() {
  172.       return this.mostSevere != null ? this.mostSevere.getURI() : this.sysURI;
  173.    }
  174.  
  175.    public void setSyntaxLoc(int var1) {
  176.       this.syntaxLoc = var1;
  177.    }
  178.  
  179.    public void setOffender(String var1) {
  180.       this.offender = var1;
  181.    }
  182.  
  183.    public void setOriginal(Exception var1) {
  184.       this.original = var1;
  185.    }
  186.  
  187.    public void setSourceLinePos(int var1) {
  188.       this.sourceLinePos = var1;
  189.    }
  190.  
  191.    public void setSourcePos(int var1) {
  192.       this.sourcePos = var1;
  193.    }
  194.  
  195.    public void setSource(String var1) {
  196.       this.source = var1;
  197.    }
  198.  
  199.    public void setURI(URI var1) {
  200.       this.sysURI = var1;
  201.    }
  202.  
  203.    public void setContext(String var1, int var2, int var3) {
  204.       this.stack = new Stack();
  205.       this.stack.push(new 1(var2, var3, var1, (ParserException)null));
  206.    }
  207.  
  208.    public void setContext(ReaderContext var1, Stack var2) {
  209.       this.setURI(var1.getURI());
  210.       this.stack = new Stack();
  211.  
  212.       for(int var3 = 0; var3 < ((Vector)var2).size(); ++var3) {
  213.          ReaderContext var4 = (ReaderContext)((Vector)var2).elementAt(var3);
  214.          this.stack.push(var4.clone());
  215.       }
  216.  
  217.       this.stack.push(var1.clone());
  218.    }
  219.  
  220.    public Enumeration getContext() {
  221.       return this.stack == null ? (new Vector()).elements() : this.stack.elements();
  222.    }
  223.  
  224.    public ParserException adoptContext(ParserException var1) {
  225.       this.stack = var1.stack;
  226.       this.sourceLinePos = var1.sourceLinePos;
  227.       return this;
  228.    }
  229. }
  230.